package com.example.spring.dao.sys;

import com.example.spring.common.MyBatisDao;
import com.example.spring.dao.CrudDao;
import com.example.spring.entity.Role;
import com.example.spring.entity.User;

import java.util.List;

/**
 * 角色DAO接口
 *
 * @author ThinkGem
 * @version 2013-12-05
 */
@MyBatisDao
public interface RoleDao extends CrudDao<Role> {

    public Role getRoleMenuList(String id);

    public Role getByName(Role role);

    public Role getByCode(Role role);

    public List<Role> getRoleByUserId(String id);

    /**
     * 维护角色与菜单权限关系
     *
     * @param role
     * @return
     */
    public int deleteRoleMenu(Role role);

    public int insertRoleMenu(Role role);

    /**
     * 维护角色与公司部门关系
     *
     * @param role
     * @return
     */
    public int deleteRoleOffice(Role role);

    public int insertRoleOffice(Role role);

    public List<User> showSelectedRoleUser(Role role);

    /**
     * 查询最大的角色编号信息
     */
    public Role selectRoleMaxCode(Role role);
    /**批量删除角色
     *
     */
    public int deleteDataScope(Role role);

}
